]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
ui/environment: Add a setSourceColor helper
authorBilal Elmoussaoui <belmouss@redhat.com>
Tue, 18 Jul 2023 13:51:25 +0000 (15:51 +0200)
committerBilal Elmoussaoui <belmouss@redhat.com>
Wed, 25 Oct 2023 19:35:18 +0000 (21:35 +0200)
To simplify porting away from Clutter cairo helpers

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2808>

js/ui/environment.js

index 868c97c071e6234937a4acaba3b677e81d9c112e..ce06148138c03ead14ee17b77263299eb06a9fad 100644 (file)
@@ -4,6 +4,7 @@ import '../misc/dependencies.js';
 import {setConsoleLogDomain} from 'console';
 import * as Gettext from 'gettext';
 
+import Cairo from 'cairo';
 import Clutter from 'gi://Clutter';
 import Gdk from 'gi://Gdk';
 import Gio from 'gi://Gio';
@@ -275,6 +276,16 @@ GObject.Object.prototype.disconnect_object = function (...args) {
 
 SignalTracker.registerDestroyableType(Clutter.Actor);
 
+Cairo.Context.prototype.setSourceColor = function (color) {
+    const {red, green, blue, alpha} = color;
+    const rgb = [red, green, blue].map(v => v / 255.0);
+
+    if (alpha !== 0xff)
+        this.setSourceRGBA(...rgb, alpha / 255.0);
+    else
+        this.setSourceRGB(...rgb);
+};
+
 // Miscellaneous monkeypatching
 _patchContainerClass(St.BoxLayout);